#pragma once

/**
 * noncopyable被继承后，派生类对象可以进行默认构造和默认析构
 * 但是无法进行拷贝构造和赋值操作，
 */

class noncopyable
{
public:
    noncopyable(const noncopyable&) = delete;
    void operator=(const noncopyable&) = delete;

protected:
    noncopyable() = default;
    ~noncopyable() = default;
};
